package com.cyzy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cyzy.dto.OrderDriverDto;
import com.cyzy.dto.OrderDto;
import com.cyzy.dto.ResponseDto;
import com.cyzy.pojo.TripOrder;

import java.util.List;

public interface OrderService extends IService<TripOrder> {
    long createOrder(TripOrder tripOrder);

    ResponseDto orderTaking(TripOrder tripOrder);

    List<TripOrder> orderList(int driverId);

    TripOrder confirmStart(Integer driverId);

    TripOrder confirmEnd(Integer driverId);

    OrderDriverDto selecetOrderAndDriver(long orderId);

    //删除订单
    void deleteOrder(long orderId);

    //查询接单司机信息
    ResponseDto driverInformation(long userId);

    //查看是否有司机接单
    String isRob(long orderId);

    List<OrderDto> selectAllOrderList(Integer driverId);

    List<OrderDto> selectWaitingOrderList(Integer driverId);

    List<OrderDto> selectOngoingOrderList(Integer driverId);

    List<OrderDto> selectCompletedOrderList(Integer driverId);

    ResponseDto cancelOrder(TripOrder order);

    List<OrderDto> selectSystemOrderList(Integer driverId);

    List<OrderDto> selectPassengerAllOrderList(Integer userId);

    List<OrderDto> selectPassengerPendingPaymentOrderList(Integer userId);

    List<OrderDto> selectPassengerCancelOrderList(Integer userId);

    List<OrderDto> selectPassengerCompleteOrderList(Integer userId);

    List<OrderDto> selectPassengerWaitingOrderList(Integer userId);

    ResponseDto rejectOrder(TripOrder order);

    List<OrderDto> selectCompleteThePayment(Integer userId);

    List<OrderDto> selectCompletedUnpaid(Integer userId);
}
